/*
   Zii EGGxplorer - A simple Zii file browser

   Copyright (C) 2009 - 2010 Claudio Corti

   Header file for Image class, derived from CImage; it allows copying one CImage on top of another
   creating a new one or modifying an existent one.
*/

#ifndef _IMAGE_H_
#define _IMAGE_H_

// Plaszma library
#include <skin.h>
#include <plaszma.h>

using namespace nZiiLABS;

class Image : public CImage
{
public:
   // Tell which image is the destination in second version of Image::Copy function
   enum ImageCopyDestination
   {
      FIRST,
      SECOND
   };

   // Constructor
   Image();

   // Destructor
   virtual ~Image();

   // Copy first Image on top of the second Image, using given CRects, creating a new Image
   static Image *Copy(CSequencer *, Image *, Image *, CRect &, CRect &);

   // Copy first Image on top of the second Image, using given CRects, modifying the Image
   // specified by ImageCopyDestination
   static void   Copy(CSequencer *, Image *, Image *, CRect &, CRect &, ImageCopyDestination);
};

#endif   /* IMAGE_H_ */
